package cc.autoapi.pucong.auto.flow.provider.group.service;

import cc.autoapi.pucong.auto.flow.provider.group.entity.GroupInfoInsertDto;
import cc.autoapi.pucong.auto.flow.provider.group.entity.GroupInfoSelectDto;
import cc.autoapi.pucong.auto.flow.provider.group.entity.GroupInfoUpdateDto;
import cc.autoapi.pucong.auto.flow.provider.group.entity.GroupInfoVo;
import cc.autoapi.pucong.auto.flow.persistence.po.sys.GroupInfoPo;

import java.util.List;

/**
 * 组信息 service接口
 *
 * @author pucong
 * @url https://gitee.com/pucong
 * @create 2023-05-31
 */
public interface GroupInfoService {

    /**
     * 不分页条件查询
     *
     * @param dto
     * @return
     */
    List<GroupInfoVo> getGroupInfoList(GroupInfoSelectDto dto);

    /**
     * 新增数据
     *
     * @param dto
     * @return
     */
    int insertGroupInfo(GroupInfoInsertDto dto);

    /**
     * 根据主键更新
     *
     * @param id
     * @param dto
     * @return
     */
    int updateGroupInfoById(String id, GroupInfoUpdateDto dto);

    /**
     * 根据id批量删除数据
     *
     * @param ids
     * @return
     */
    int batchDeleteGroupInfoByIds(List<String> ids);

    Long getGroupCount(GroupInfoSelectDto dto);

    GroupInfoPo getById(String uuid);

    int save(GroupInfoPo groupInfo3);

    int updateById(GroupInfoPo groupInfo3);

    List<GroupInfoPo> listByIds(List<String> groupIds);

    List<GroupInfoPo> list(String name, Integer groupType);

    Long selectCount(String name, Integer groupType);
}
